package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/** 集合的排序--String */
public class SortString {
    public static void main(String[] args) {
        //对英文字符串排序时，会按照首字母的ASCII码来排
        //若首字母相同，则比较第二个字母的ASCII码，以此类推

        List<String> list = new ArrayList<>();
        list.add("sad");
        list.add("IH");
        list.add("AFG");
        list.add("das");
        list.add("hgf");
        list.add("cxv");
        list.add("wwr");

        System.out.println("list排序前:"+list);
        Collections.sort(list);
        System.out.println("list排序后:"+list);


        List<String> list1 = new ArrayList<>();
        list1.add("张");
        list1.add("三");
        list1.add("李");
        list1.add("四");
        list1.add("陈");
        list1.add("龚");

        //自定义排序规则
        Collections.sort(list1, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                return o1.length()-o2.length(); //升序
                // return o2.length()-o1.length();  //降序
            }
        });
        System.out.println(list1);
    }
}
